/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.domain.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.comac.ins.isfd.domain.IsfdOperator;
import com.comac.ins.isfd.domain.bo.IsfdOperatorBo;
import io.github.linpeilie.annotations.AutoMapper;
import io.github.linpeilie.annotations.AutoMappers;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 算子实视图对象
 *
 * @author hxloongs
 * @date 2024-7-8
 */
@Data
@AutoMappers({
    @AutoMapper(target = IsfdOperator.class),
    @AutoMapper(target = IsfdOperatorBo.class)
})
public class IsfdOperatorVo {

    private String _id;

    @ExcelProperty(value = "算子名")
    private String operatorName;

    @ExcelProperty(value = "算子实现")
    private String algorithmRealize;

    @ExcelProperty(value = "应用类型")
    private String applicationType;

    @ExcelProperty(value = "材料类型")
    private String materialType;

    @ExcelProperty(value = "算法类型")
    private String algorithmType;

    @ExcelProperty(value = "备注")
    private String operatorDescription;

    private Date createTime;

    private List<CalculateObject> calculateObjects;

    @ExcelProperty(value = "计算类型对象")
    private String calculateObjectsJsonArrayStr;

    private Boolean used = Boolean.FALSE;

    @Data
    public static class CalculateObject {
        private String objectType;
        private String objectName;
    }

    /**
     * 元数据管理id
     */
    private String metadataManagementId;
}
